package com.handpay.nocardpay.baselibrary.qualificationinfo.model;

import com.handpay.nocardpay.baselibrary.commbase.model.IBaseModel;
import com.handpay.nocardpay.baselibrary.commbase.model.bean.BaseResponseBean;

import java.util.HashMap;

/**
 * Created by fplei on 2017/8/13.
 */

public interface IQualification <T,M,Q,I,X>{
    /**
     * 基本信息检查(三要素)
     * @param paramers
     * @param clzz
     * @param listener
     */
    void checkCardThreeElements(HashMap<String, Object> paramers, Class<T> clzz, IBaseModel.OnRequestFinishedListener<T> listener);

    /**
     * 上传图片
     * @param paramers
     * @param clzz
     * @param bytes
     */
    BaseResponseBean uploadFile(HashMap<String, String> paramers, Class<M> clzz, byte[] bytes,String action);

    /**
     * 提交资质信息
     * @param paramers
     * @param clzz
     * @param listener
     */
    void submitQualificationData(HashMap<String, Object> paramers, Class<M> clzz, IBaseModel.OnRequestFinishedListener<M> listener);

    /**
     * 查询用户审核资质
     * @param paramers
     * @param clzz
     * @param listener
     */
    void queryQualificationCheckInfo(HashMap<String, Object> paramers, Class<Q> clzz, IBaseModel.OnRequestFinishedListener<Q> listener);
    /**
     * 查询补件审核信息
     * @param paramers
     * @param clzz
     * @param listener
     */
    void queryIDCardInfo(HashMap<String, Object> paramers, Class<I> clzz, IBaseModel.OnRequestFinishedListener<I> listener);

    /**
     * 查询当前用户证件状态
     * @param paramers
     * @param clzz
     * @param listener
     */
    void queryCertNoExpory(HashMap<String, Object> paramers, Class<X> clzz, IBaseModel.OnRequestFinishedListener<X> listener);
}
